package interfases;

import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.ImageIcon;


import persistencia.PersistirDatosdePrueba;
//import persistencia.PersistirDatosdePrueba;
import persistencia.PersistirImagen;

import javax.swing.SwingConstants;

import java.awt.SystemColor;

public class IPrincipal {

	public JFrame principal;
	private JLabel logo;
	

	public IPrincipal() {
		initialize();
	}
	
	//CENTRA LA PANTALLA PRINCIPAL
	private void centrarPantalla(JFrame ventana, int x, int y){
		Toolkit t = Toolkit.getDefaultToolkit();
		Dimension pantalla = t.getScreenSize();
		int height = pantalla.height;
		int width = pantalla.width;
		int px =  (int) (width-x)/2;
		int py =  (int) (height-y)/2;
		ventana.setBounds(px, py, x, y);
	}

	private void initialize() {
		principal = new JFrame();
		principal.getContentPane().setBackground(SystemColor.control);
		principal.setTitle("TPlay Market");
		principal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		principal.getContentPane().setLayout(null);
		
		centrarPantalla(principal, 560, 352);
		
		logo = new JLabel("LOGO");
		logo.setToolTipText("BIENVENIDOS A TPlay Market");
		logo.setHorizontalAlignment(SwingConstants.CENTER);
		
		logo.setBounds(21, 11, 513, 269);
		principal.getContentPane().add(logo);
		
		if(new PersistirImagen().existeImagen(1)){
			logo.setIcon(new ImageIcon(new PersistirImagen().getImagen(1)));
			logo.updateUI();
		}
		else
			logo.setText("BIENVENIDOS A TPlayMarket");
		
		/******************************************************/
		
		
		JMenuBar menuBar = new JMenuBar();
		principal.setJMenuBar(menuBar);
		JMenu CasosDeUso = new JMenu("  Casos de Uso");
		CasosDeUso.setIcon(new ImageIcon(IPrincipal.class.getResource("/com/sun/java/swing/plaf/windows/icons/Computer.gif")));
		menuBar.add(CasosDeUso);
		
		JMenu Altas = new JMenu("  Altas");
		Altas.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\alta.png"));
		CasosDeUso.add(Altas);
		
		JMenuItem AltaDePerfil = new JMenuItem("  Alta de Perfil");
		AltaDePerfil.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\perfiles.png"));
		AltaDePerfil.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//ALTA DE PERFIL
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							IAltaPerfil frame = new IAltaPerfil();
							frame.setVisible(true);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		Altas.add(AltaDePerfil);
		
		JMenuItem AltaDeJuego = new JMenuItem("  Alta de Juego");
		AltaDeJuego.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\juego.png"));
		AltaDeJuego.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//ALTA DE JUEGO
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							IAltaJuego frame = new IAltaJuego();
							frame.setVisible(true);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		Altas.add(AltaDeJuego);
		
		JMenuItem AltaDeCategoria = new JMenuItem("  Alta de Categoria");
		AltaDeCategoria.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\categoria.png"));
		AltaDeCategoria.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//ALTA DE CATEGORIA
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							IAltaCategoria frame = new IAltaCategoria();
							frame.setVisible(true);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		Altas.add(AltaDeCategoria);
		
		JMenu Consultas = new JMenu("  Consultas");
		Consultas.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\consulta.png"));
		CasosDeUso.add(Consultas);
		
		JMenuItem ConsultaDePerfil = new JMenuItem("  Consulta de Perfil");
		ConsultaDePerfil.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\cperfil.png"));
		ConsultaDePerfil.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//CONSULTA DE PERFIL
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							IConsultaPerfil frame = new IConsultaPerfil();
							frame.setVisible(true);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		Consultas.add(ConsultaDePerfil);
		
		JMenuItem ConsultaDeJuego = new JMenuItem("  Consulta de Juego");
		ConsultaDeJuego.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\preguntaj.png"));
		ConsultaDeJuego.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//CONSULTA DE JUEGO
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							IConsultaJuego frame = new IConsultaJuego();
							frame.setVisible(true);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		Consultas.add(ConsultaDeJuego);
		
		JSeparator separator = new JSeparator();
		CasosDeUso.add(separator);
		
		JMenuItem ModificarPerfil = new JMenuItem("  Modificar Perfil");
		ModificarPerfil.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\modificar.png"));
		ModificarPerfil.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//MODIFICAR EL PERFIL
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							IModificarPerfil frame = new IModificarPerfil();
							frame.setVisible(true);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		CasosDeUso.add(ModificarPerfil);
		
		JMenuItem ComprarJuego = new JMenuItem("  Comprar Juego");
		ComprarJuego.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\comprar.png"));
		ComprarJuego.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//COMPRAR JUEGO
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							IComprarJuego frame = new IComprarJuego();
							frame.setVisible(true);
							frame.setLocation(300, 80);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		CasosDeUso.add(ComprarJuego);
		
		JMenuItem IngresarComentario = new JMenuItem("  Ingresar Comentario");
		IngresarComentario.setIcon(new ImageIcon("C:\\sqlite\\Iconos\\comentarios.png"));
		IngresarComentario.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//INGRESAR COMENTARIO
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							IIngresarComentario frame = new IIngresarComentario();
							frame.setVisible(true);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		CasosDeUso.add(IngresarComentario);
		
		
		
		JSeparator separator_1 = new JSeparator();
		CasosDeUso.add(separator_1);
		
		JMenuItem mntmCargarDatos = new JMenuItem("  Cargar Datos");
		mntmCargarDatos.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {

				PersistirDatosdePrueba PDP = new PersistirDatosdePrueba();
				PDP.agregarDatosdePrueba();
				
			}
		});
		CasosDeUso.add(mntmCargarDatos);
		
		
		JMenuItem mntmGuardarImagen = new JMenuItem("  Guardar Imagen");
		mntmGuardarImagen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						try {
							IImagen frame = new IImagen();
							frame.setVisible(true);
						} catch (Exception e) {
							e.printStackTrace();
						}
					}
				});
			}
		});
		CasosDeUso.add(mntmGuardarImagen);
		
	}
}
